package com.my.screenadapter.shell;

import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;

import com.my.screenadapter.Base.BaseActivity;
import com.my.screenadapter.R;
import com.my.screenadapter.mdir.MFileUtils;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Logger;


import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;

public class ShellActivity extends BaseActivity {
    @BindView(R.id.btn0)
    Button btn0;
    @BindView(R.id.btn1)
    Button btn1;
    @BindView(R.id.btn2)
    Button btn2;
    List<String> cmd=new ArrayList<>();
    @Override
    protected void init() {


        File filesDir = getFilesDir();

        String filePath = filesDir.getAbsolutePath();
        Log.i(TAG,"files=="+filePath);
        // TODO: 2018/9/4  java删除 结论 可以删除本应用的不能删除 其他应用的文件
        //cmd 操作失败

//            cmd.add("/data/data/com.my.screenadapter");
//            cmd.add("/data/data/com.my.screenadapter/files");
//            cmd.add("/data/data/com.my.screenadapter/databases");
//            cmd.add("/data/data/com.my.screenadapter/cache");
//            cmd.add("/data/data/com.my.screenadapter/shared_prefs");
//            cmd.add("/data/data/com.my.screenadapter/abcd.txt");
//            cmd.add("/data/data/com.my.screenadapter/abcd.txt");

            cmd.add("/data/data/com.opzoon.oids");
            cmd.add("/data/data/com.opzoon.oids/files");
            cmd.add("/data/data/com.opzoon.oids/databases");
            cmd.add("/data/data/com.opzoon.oids/cache");
            cmd.add("/data/data/com.opzoon.oids/shared_prefs");
            cmd.add("/data/data/com.opzoon.oids/abcd.txt");
            cmd.add("/data/data/com.opzoon.oids/abcd.txt");

//            cmd.add("rm -rf "+filePath+"/*");
//            cmd.add("rm -rf "+filePath+"/files");
//            cmd.add("rm -rf "+filePath+"/databases");
//            cmd.add("rm -rf "+filePath+"/cache");
//            cmd.add("rm -rf "+filePath+"/shared_prefs");
//            cmd.add("touch "+filePath+"/abcd.txt");
//            cmd.add("rm "+filePath+"/abcd.txt");


//            cmd.add("rm -rf /data/data/com.opzoon.oids/*");
//            cmd.add("rm -rf /data/data/com.opzoon.oids/files");
//            cmd.add("rm -rf /data/data/com.opzoon.oids/databases");
//            cmd.add("rm -rf /data/data/com.opzoon.oids/cache");
//            cmd.add("rm -rf /data/data/com.opzoon.oids/shared_prefs");
//            cmd.add("touch /data/data/com.opzoon.oids/abcd.txt");
//            cmd.add("rm /data/data/com.opzoon.oids/abcd.txt");

        cmd.add("/data/data/com.opzoon.oids");
        cmd.add("/data/data/com.opzoon.oids/files");
        cmd.add("/data/data/com.opzoon.oids/databases");
        cmd.add("/data/data/com.opzoon.oids/cache");
        cmd.add("/data/data/com.opzoon.oids/shared_prefs");
        cmd.add("/data/data/com.opzoon.oids/abcd.txt");
        cmd.add("/data/data/com.opzoon.oids/abcd.txt");
        cmd.add("reboot");
        btn0.setText(cmd.get(0));
//        btn1.setText(cmd.get(0));
        btn2.setText(cmd.get(0));
    }

    private int countCmd;
    @OnClick(R.id.btn0)
    public void execBtn(View v){
        btn0.setText(cmd.get((countCmd+1) % cmd.size()));
        String s = cmd.get(countCmd % cmd.size());
        try {
            Log.i(TAG, "execBtn: "+s);
            ShellExec.do_exec("echo "+s);
            ShellExec.do_exec(s);

//            ShellExec.execute("echo "+s);
//            ShellExec.execute(s);
        } catch (Exception e) {
//        } catch (IOException e) {
//            e.printStackTrace();
//        } catch (InterruptedException e) {
            e.printStackTrace();
        }finally {
            int i = countCmd++;
        }
    }

    @OnClick(R.id.btn1)
    public void execBtn1(View v){
//        btn1.setText(cmd.get((countCmd+1) % cmd.size()));
        String s = cmd.get(countCmd % cmd.size());
        try {
            Log.i(TAG, "execBtn: "+s);

            ShellExec.execute("echo executeBtn1");
            ShellExec.execute("echo abc > /system/temp.txt");
            ShellExec.execute("echo bcd >> /system/temp.txt");
            ShellExec.execute("echo \r\n >> /system/temp.txt");
            ShellExec.execute("echo fff >> /system/temp.txt");
            ShellExec.execute("echo "+s);
//            ShellExec.execute(s);

        } catch (IOException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }finally {
            int i = countCmd++;
        }
    }

    @Override
    protected int initLayoutId() {
        return R.layout.activity_shell;
    }


    public void javaDel(View view) {
        btn2.setText(cmd.get((countCmd + 1) % cmd.size()));
        String s = cmd.get(countCmd % cmd.size());
        MFileUtils.delAll(s);
    }
}
